package vista;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class VentanaRegistrarEvento extends javax.swing.JFrame {
	private JPanel jpContenedorEvento;
	private JLabel lblCodigoEvento;
	private JLabel lblTipoEvento;
	private JButton cmdLimpiar;
	private JButton cmdSalir;
	private JButton cmdBuscarEvento;
	private JButton cmdListaObsequio;
	private JButton cmdAgregarInvitados;
	private JButton cmdAgregarAgasajados;
	private JButton cmdAgregarAnfitriones;
	private JPanel panDatosEvento;
	private JButton cmdRegistrar;
	private JComboBox cmbAmpm;
	private JComboBox cmbMinutos;
	private JComboBox cmbHora;
	private JLabel lblHora;
	private JComboBox cmbAnno;
	private JComboBox cmbMes;
	private JComboBox cmbDia;
	private JTextField txtDireccion;
	private JComboBox cmbTipoEvento;
	private JTextField txtCodigoEvento;
	private JLabel lblFechaHora;
	private JLabel lblDireccion;

	/**
	* Auto-generated main method to display this JFrame
	*/
	public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			@Override
			public void run() {
				VentanaRegistrarEvento inst = new VentanaRegistrarEvento();
				inst.setLocationRelativeTo(null);
				inst.setVisible(true);
			}
		});
	}
	
	public VentanaRegistrarEvento() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			this.setTitle("Registrar Evento");
			{
				jpContenedorEvento = new JPanel();
				getContentPane().add(jpContenedorEvento, BorderLayout.CENTER);
				jpContenedorEvento.setLayout(null);
				jpContenedorEvento.setPreferredSize(new java.awt.Dimension(740, 376));
				{
					lblCodigoEvento = new JLabel();
					jpContenedorEvento.add(lblCodigoEvento, "Center");
					lblCodigoEvento.setText("Código Evento:");
					lblCodigoEvento.setBounds(62, 45, 138, 17);
				}
				{
					lblTipoEvento = new JLabel();
					jpContenedorEvento.add(lblTipoEvento);
					lblTipoEvento.setText("Tipo Evento:");
					lblTipoEvento.setBounds(81, 79, 111, 15);
					lblTipoEvento.setVisible(false);
				}
				{
					lblDireccion = new JLabel();
					jpContenedorEvento.add(lblDireccion);
					lblDireccion.setText("Direccion:");
					lblDireccion.setBounds(96, 114, 96, 15);
					lblDireccion.setVisible(false);
				}
				{
					lblFechaHora = new JLabel();
					jpContenedorEvento.add(lblFechaHora);
					lblFechaHora.setText("Fecha:");
					lblFechaHora.setBounds(115, 148, 71, 15);
					lblFechaHora.setVisible(false);
				}
				{
					txtCodigoEvento = new JTextField();
					jpContenedorEvento.add(getTxtCodigoEvento());
					txtCodigoEvento.setBounds(200, 45, 62, 17);
				}
				{
					ComboBoxModel cmbTipoEventoModel = 
							new DefaultComboBoxModel(
									new String[] { "Item One", "Item Two" });
					cmbTipoEvento = new JComboBox();
					jpContenedorEvento.add(cmbTipoEvento);
					cmbTipoEvento.setModel(cmbTipoEventoModel);
					cmbTipoEvento.setBounds(200, 78, 129, 22);
					cmbTipoEvento.setVisible(false);
				}
				{
					txtDireccion = new JTextField();
					jpContenedorEvento.add(txtDireccion);
					txtDireccion.setBounds(200, 112, 270, 17);
					txtDireccion.setVisible(false);
				}
				{
					ComboBoxModel cmbDiaModel = 
							new DefaultComboBoxModel(
									new String[] { "Item One", "Item Two" });
					cmbDia = new JComboBox();
					jpContenedorEvento.add(cmbDia);
					cmbDia.setModel(cmbDiaModel);
					cmbDia.setBounds(200, 145, 51, 22);
					cmbDia.setVisible(false);
				}
				{
					ComboBoxModel cmbMesModel = 
							new DefaultComboBoxModel(
									new String[] { "Item One", "Item Two" });
					cmbMes = new JComboBox();
					jpContenedorEvento.add(cmbMes);
					cmbMes.setModel(cmbMesModel);
					cmbMes.setBounds(257, 145, 98, 22);
					cmbMes.setVisible(false);
				}
				{
					ComboBoxModel cmbAnnoModel = 
							new DefaultComboBoxModel(
									new String[] { "Item One", "Item Two" });
					cmbAnno = new JComboBox();
					jpContenedorEvento.add(cmbAnno);
					cmbAnno.setModel(cmbAnnoModel);
					cmbAnno.setBounds(361, 145, 86, 22);
					cmbAnno.setVisible(false);
				}
				{
					lblHora = new JLabel();
					jpContenedorEvento.add(lblHora);
					lblHora.setText("Hora:");
					lblHora.setBounds(124, 183, 68, 15);
					lblHora.setVisible(false);
				}
				{
					ComboBoxModel cmbHoraModel = 
							new DefaultComboBoxModel(
									new String[] { "Item One", "Item Two" });
					cmbHora = new JComboBox();
					jpContenedorEvento.add(cmbHora);
					cmbHora.setModel(cmbHoraModel);
					cmbHora.setBounds(200, 179, 51, 22);
					cmbHora.setVisible(false);
				}
				{
					ComboBoxModel cmbMinutosModel = 
							new DefaultComboBoxModel(
									new String[] { "Item One", "Item Two" });
					cmbMinutos = new JComboBox();
					jpContenedorEvento.add(cmbMinutos);
					cmbMinutos.setModel(cmbMinutosModel);
					cmbMinutos.setBounds(257, 179, 51, 22);
					cmbMinutos.setVisible(false);
				}
				{
					ComboBoxModel cmbAmpmModel = 
							new DefaultComboBoxModel(
									new String[] { "Item One", "Item Two" });
					cmbAmpm = new JComboBox();
					jpContenedorEvento.add(cmbAmpm);
					cmbAmpm.setModel(cmbAmpmModel);
					cmbAmpm.setBounds(314, 179, 51, 22);
					cmbAmpm.setVisible(false);
				}
				{
					cmdRegistrar = new JButton();
					jpContenedorEvento.add(cmdRegistrar);
					cmdRegistrar.setText("Registrar Evento");
					cmdRegistrar.setBounds(340, 300, 153, 27);
					cmdRegistrar.setVisible(false);
				}
				{
					panDatosEvento = new JPanel();
					jpContenedorEvento.add(panDatosEvento);
					jpContenedorEvento.add(getCmdBuscarEvento());
					jpContenedorEvento.add(getCmdBuscarEvento());
					jpContenedorEvento.add(getCmdSalir());
					jpContenedorEvento.add(getCmdLimpiar());
					panDatosEvento.setBounds(12, 224, 809, 44);
					panDatosEvento.setVisible(false);
					{
						cmdAgregarAnfitriones = new JButton();
						panDatosEvento.add(cmdAgregarAnfitriones);
						cmdAgregarAnfitriones.setLayout(null);
						cmdAgregarAnfitriones.setText("Agregar Anfitriones");
					}
					{
						cmdAgregarAgasajados = new JButton();
						panDatosEvento.add(cmdAgregarAgasajados);
						cmdAgregarAgasajados.setText("Agregar Agasajados");
					}
					{
						cmdAgregarInvitados = new JButton();
						panDatosEvento.add(cmdAgregarInvitados);
						cmdAgregarInvitados.setText("Agregar Invitados");
					}
					{
						cmdListaObsequio = new JButton();
						panDatosEvento.add(cmdListaObsequio);
						cmdListaObsequio.setText("Seleccionar lista de obsequios");
					}
				}
			}
			pack();
			this.setSize(843, 387);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	public void agregarListener(ActionListener actionListener) {
		this.cmdRegistrar.addActionListener(actionListener);
		this.cmdAgregarInvitados.addActionListener(actionListener);
		this.cmdAgregarAgasajados.addActionListener(actionListener);
		this.cmdAgregarAnfitriones.addActionListener(actionListener);
		this.cmdListaObsequio.addActionListener(actionListener);
		this.cmdBuscarEvento.addActionListener(actionListener);
		this.cmdSalir.addActionListener(actionListener);
		this.cmdLimpiar.addActionListener(actionListener);
	}
	
	public JTextField getTxtCodigoEvento() {
		return txtCodigoEvento;
	}
	
	public JTextField getTxtDireccionEvento() {
		return txtDireccion;
	}
	public String getCmdTipoEvento() {
		return cmbTipoEvento.getSelectedItem().toString();
	}

	public void setTiposEventos(String[] tiposEventos){
		ComboBoxModel cmbTipoEventoModel = new DefaultComboBoxModel(tiposEventos);
		this.cmbTipoEvento.setModel(cmbTipoEventoModel);
	}
	
	public void setDatosFecha(String[] dias, String[] meses, String[] annos) {
		ComboBoxModel cmbDiasModel = new DefaultComboBoxModel(dias);
		ComboBoxModel cmbMesesModel = new DefaultComboBoxModel(meses);
		ComboBoxModel cmbAnnosModel = new DefaultComboBoxModel(annos);
		this.cmbDia.setModel(cmbDiasModel);
		this.cmbMes.setModel(cmbMesesModel);
		this.cmbAnno.setModel(cmbAnnosModel);
		
	}

	public void setDatosHora(String[] horas, String[] minutos, String[] ampm) {
		ComboBoxModel cmbHorasModel = new DefaultComboBoxModel(horas);
		ComboBoxModel cmbMinutosModel = new DefaultComboBoxModel(minutos);
		ComboBoxModel cmbAmpmModel = new DefaultComboBoxModel(ampm);
		this.cmbHora.setModel(cmbHorasModel);
		this.cmbMinutos.setModel(cmbMinutosModel);
		this.cmbAmpm.setModel(cmbAmpmModel);
		
	}
	
	public void mostrarMensaje(String mensaje){
		JOptionPane.showMessageDialog(this, mensaje);
	}
	
	public String getFechaEvento(){
		String fecha = cmbDia.getSelectedItem().toString()+"/"+cmbMes.getSelectedItem().toString()+"/"+cmbAnno.getSelectedItem().toString();
		return fecha;
	}
	
	public String getHoraEvento(){
		String hora = cmbHora.getSelectedItem().toString()+":"+cmbMinutos.getSelectedItem().toString()+cmbAmpm.getSelectedItem().toString();
		return hora;
	}

	public boolean datosLlenos() {
		if(this.getTxtCodigoEvento().getText().isEmpty() || this.getTxtDireccionEvento().getText().isEmpty()){
			return true;
		}
		return false;
	}
	
	public void habilitarBuscar(boolean valor){
		this.cmdBuscarEvento.setVisible(valor);
		this.cmdBuscarEvento.setEnabled(valor);
	}
	
	public void habilitarCodigo(boolean valor){
		this.txtCodigoEvento.setEnabled(valor);
		
	}
	
	public void bloquearEvento(boolean valor){
		
		this.cmdAgregarAgasajados.setVisible(valor);
		this.cmdAgregarAnfitriones.setVisible(valor);
		this.cmdAgregarInvitados.setVisible(valor);
		this.cmdListaObsequio.setVisible(valor);
		this.cmdLimpiar.setVisible(valor);
		this.cmdRegistrar.setVisible(valor);
		this.panDatosEvento.setVisible(valor);
		
		this.lblDireccion.setVisible(valor);
		this.lblFechaHora.setVisible(valor);
		this.lblHora.setVisible(valor);
		this.lblTipoEvento.setVisible(valor);
		
		this.txtDireccion.setVisible(valor);
		this.cmbAmpm.setVisible(valor);
		this.cmbAnno.setVisible(valor);
		this.cmbDia.setVisible(valor);
		this.cmbHora.setVisible(valor);
		this.cmbMes.setVisible(valor);
		this.cmbMinutos.setVisible(valor);
		this.cmbTipoEvento.setVisible(valor);
		if (valor){
			cmdSalir.setBounds(518, 300, 153, 27);
		}
		else {
			cmdSalir.setBounds(74, 97, 153, 27);
		}

	}

	public void limpiarCampos() {
		this.txtCodigoEvento.setText("");
		this.txtDireccion.setText("");
		this.cmbTipoEvento.setSelectedIndex(0);
		this.cmbHora.setSelectedIndex(0);
		this.cmbMinutos.setSelectedIndex(0);
		this.cmbAmpm.setSelectedIndex(0);
		this.cmbAnno.setSelectedIndex(0);
		this.cmbDia.setSelectedIndex(0);
		this.cmbMes.setSelectedIndex(0);
		this.cmdSalir.setBounds(74, 97, 153, 27);
		bloquearEvento(false);
		

	}
	
	private JButton getCmdBuscarEvento() {
		if(cmdBuscarEvento == null) {
			cmdBuscarEvento = new JButton();
			cmdBuscarEvento.setText("Buscar");
			cmdBuscarEvento.setBounds(278, 40, 153, 27);
		}
		return cmdBuscarEvento;
	}
	
	private JButton getCmdSalir() {
		if(cmdSalir == null) {
			cmdSalir = new JButton();
			cmdSalir.setText("Salir");
			cmdSalir.setBounds(74, 97, 153, 27);
			//cmdSalir.setBounds(518, 300, 153, 27);
		}
		return cmdSalir;
	}
	
	private JButton getCmdLimpiar() {
		if(cmdLimpiar == null) {
			cmdLimpiar = new JButton();
			cmdLimpiar.setText("Limpiar");
			cmdLimpiar.setBounds(165, 300, 153, 27);
			cmdLimpiar.setVisible(false);
		}
		return cmdLimpiar;
	}

}